package com.ikun.mapper;

import com.ikun.pojo.TbTask;
import com.ikun.pojo.TbUserTask;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface TbTaskMapper {

    //分页查询任务的方法
    public List<TbTask> pgSelTask(@Param("page")int page,@Param("order")String order,@Param("by")String by);

    //发布任务的方法
    public int send_task(@Param("tbTask")TbTask tbTask);

    //查询我发布的任务的方法
    public List<TbTask> selMyTask(@Param("id")int userid,@Param("pg")int page);

    //查询我发布的任务的数量的方法
    @Select("select count(*) from tb_task where userid = #{id}")
    public int selMyTaskCount(@Param("id")int userid);

    //查询我参与的任务的方法
    public List<TbTask> selMyJoin(@Param("id")int userid,@Param("pg")int page);

    //查询我参与的任务的数量的方法
    @Select("select count(*) from tb_user_task where userid = #{id} and finishtime is null")
    public int selMyJoinCount(@Param("id")int userid);

    //查询任务详情
    public TbTask selTaskInfo(@Param("id")int id);

    //接受任务
    @Insert("INSERT INTO tb_user_task VALUES(NULL,#{ut.time},#{ut.user.id},#{ut.task.id},NULL)")
    public int getTask(@Param("ut") TbUserTask tbUserTask);
}